package com.dmgis.hndz.pojo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.dmgis.hndz.pojoVo.ReceiverVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 短信记录管理 sms_record_management
 *
 * @author pengdongdong
 * @description public
 * @date 2024-11-11
 */
@Data
public class SMSRecordManagement implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 行政编码
     */
    private String code;

    /**
     * 短信接收人
     */
    @ExcelProperty(value = "接收人", order = 1)
    private String recipient;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码", order = 2)
    private String phone;

    /**
     * 发送通道（0：移动，1：联通，2：电信）
     */
    @ExcelProperty(value = "发送通道", order = 3)
    private String sendAisle;

    /**
     * 短信类型
     */
    private String smsType;

    /**
     * 短信类别
     */
    private String smsCategory;

    /**
     * 人员类别（0：切坡建房人员，1：群测群防人员）
     */
    private String staffType;

    /**
     * 短信模版id
     */
    private String templateId;

    /**
     * 短信内容
     */
    @ExcelProperty(value = "发送通道", order = 5)
    private String content;

    /**
     * 发送时间
     */
    @ExcelProperty(value = "发送时间", order = 4)
    @JsonFormat(timezone = "GMT+8:00", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sendTime;

    /**
     * 处理结果（0：发送失败，1：发送成功）
     */
    private String results;

    /**
     * 发送状态（0：待发送，1：已发送）
     */
    private String sendStatus;

    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    private String formatDate;

    /**
     * 接受者
     */
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    private List<ReceiverVo> receiver;

    /**
     * 期数id，用于区分短信记录是否同一次发送
     */
    private String stagesId;

    /**
     * 部门
     */
    private String dept;
    /**
     * 部门id
     */
    private String deptId;
    /**
     * 父级id
     */
    private String parentId;
    /**
     * 人员id
     */
    private String personId;


}